In a search engine system, certain commonly searched information are stored in a temporary storage. This temporary storage is usually referred to as the cache of the search engine system. One of the benefits of keeping a local temporary storage of commonly searched information is that it ensures a fast response to subsequent search queries of the same information because it takes less time to retrieve the information from a local memory. Another benefit of caching commonly searched information is to reduce the cost of servicing multiple search queries requesting the same information. When the result of a search query is cached, there is no need to perform another search of the database, which may be distributed over multiple disks and memory arrays in multiple remote computer servers. Retrieving such information from the multiple disks and memory arrays in multiple remote computer servers may require significantly more time and resources than retrieving the information from the cache.
Results of a search query may be stored in a cache in the form of a {key, value} pair. The key is an identifier of the search query, which may be generated by applying a hash function to the search query (or to a normalized version of the search query). The value is typically a result associated with the search query. When the result of a search query is cached, the cached value is used to respond to the query.